type MyExclude<T, U> = T extends U ? never : T

type T0 = Exclude<"a" | "b" | "c", "a">
// type T0 = "b" | "c"
type T1 = Exclude<string | number | boolean, number>
// type T1 = string | boolean
// let t1: T1 = 1 // 不能将类型“1”分配给类型“T1”
let t2: T1 = '1'
